#ifndef _LOG_H_
#define _LOG_H_

#include <spdlog/sinks/stdout_color_sinks.h>

namespace Engine2D
{
    class Log
    {
    public:
        static std::shared_ptr<spdlog::logger> & Instance();
    private:
        Log() = default;
        virtual ~Log() = default;
        std::shared_ptr<spdlog::logger> m_logger;
    };

        
    #define LOG_DEBUG(...) Engine2D::Log::Instance()->log(spdlog::level::debug, __VA_ARGS__);
    #define LOG_INFO(...) Engine2D::Log::Instance()->log(spdlog::level::info, __VA_ARGS__);
    #define LOG_ERROR(...) Engine2D::Log::Instance()->log(spdlog::level::err, __VA_ARGS__);

} // namespace Engine2D



#endif